package com.bjsxt;

import java.util.*;

/**
 * LinkedList 容器
 * LinkedList底层用双向链表实现的存储。特点：查询效率低，增删效效高，线程不安全。
 * 双向链表又叫双链表，是链表的一种，它的每个数据节点都有两个指针，分别指向前一个节点
 * 和后一个节点，所以，双向链表中的任意一个节点开始，都可以很方便地找到所有节点
 * 只要是链表查询效率都低，因为一个一个的节点查找
 * 因为增删时节点不移动，所以效效高。
 * ArrayList与Vector底层都是数组存储，所以查询效率高，增删效效低（增删后数组要移动）*/
/*LinkedList的使用：
* 1，LinkedList实现的List接口，所以LinkedList是具备list存储特征的有序，元有重复
* 2,非list标准 ，用于操双向链表*/
public class TestLinkedList {
    public static void main(String[] args) {
        /*LinkedList使用（list标准）*/
        List<String> list = new LinkedList<>();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("a");
        //获取元素
        for(int i=0;i< list.size();i++){
            System.out.println(list.get(i));
        }
        System.out.println("-----------");
        for(String str:list){
            System.out.println(str);
        }

    }
}
